home *** CD-ROM | disk | FTP | other *** search
- ;;; -*-Scheme-*-
-
- (require 'xlib)
-
- (define (poly)
- (let* ((dpy (open-display))
- (black (black-pixel dpy)) (white (white-pixel dpy))
- (width 400) (height 400)
- (win (create-window 'parent (display-root-window dpy)
- 'width width 'height height
- 'background-pixel white 'event-mask '(exposure)))
- (gc (create-gcontext 'window win 'function 'xor
- 'background white 'foreground black))
- (l '(#f #f #f))
- (rand (lambda (x) (modulo (random) x))))
- (map-window win)
- (handle-events dpy #t #f
- (else (lambda args
- (set! width (window-width win))
- (set! height (window-height win)) #t)))
- (unwind-protect
- (let loop ((n 0))
- (if (= n 200)
- (begin
- (clear-window win)
- (display-wait-output dpy #f)
- (set! n 0)))
- (fill-polygon win gc
- (list->vector
- (map (lambda (x) (cons (rand width) (rand height))) l))
- #f 'convex)
- (loop (1+ n)))
- (close-display dpy))))
-
- (poly)
-